react-pixi-fiber 2.0.0-rc.3 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/CHANGELOG.md +626 -0
  2. package/README.md +659 -393
  3. package/dist/cjs/react-pixi-fiber.d.ts +375 -0
  4. package/dist/cjs/react-pixi-fiber.development.js +1107 -0
  5. package/dist/cjs/react-pixi-fiber.production.min.js +3 -0
  6. package/dist/cjs/react-pixi-fiber.production.min.js.map +1 -0
  7. package/dist/es/react-pixi-fiber.d.mts +375 -0
  8. package/dist/es/react-pixi-fiber.development.js +1043 -0
  9. package/dist/es/react-pixi-fiber.production.min.js +3 -0
  10. package/dist/es/react-pixi-fiber.production.min.js.map +1 -0
  11. package/index.js +2 -2
  12. package/package.json +39 -70
  13. package/src/AppProvider.tsx +18 -0
  14. package/src/PIXIComponent.ts +93 -0
  15. package/src/PixiProperty.ts +170 -0
  16. package/src/PixiPropertyOperations.ts +79 -0
  17. package/src/ReactPixiFiberComponent.ts +236 -0
  18. package/src/{ReactPixiFiberUnknownPropertyHook.js → ReactPixiFiberUnknownPropertyHook.ts} +58 -37
  19. package/src/Stage/ContextBridge.tsx +37 -0
  20. package/src/Stage/Stage.tsx +257 -0
  21. package/src/Stage/common.tsx +93 -0
  22. package/src/Stage/index.ts +16 -0
  23. package/src/Stage/props.ts +36 -0
  24. package/src/configure.ts +86 -0
  25. package/src/defaults.ts +18 -0
  26. package/src/globals.d.ts +2 -0
  27. package/src/{hooks.js → hooks.ts} +8 -2
  28. package/src/hostOps.ts +169 -0
  29. package/src/index.ts +124 -0
  30. package/src/invariant.ts +12 -0
  31. package/src/registry.ts +167 -0
  32. package/src/render.ts +32 -0
  33. package/src/tags.ts +19 -0
  34. package/src/types.ts +400 -0
  35. package/src/{utils.js → utils.ts} +40 -42
  36. package/src/warning.ts +12 -0
  37. package/cjs/react-pixi-alias.development.js +0 -75
  38. package/cjs/react-pixi-alias.production.min.js +0 -2
  39. package/cjs/react-pixi-alias.production.min.js.map +0 -1
  40. package/cjs/react-pixi-fiber.development.js +0 -24407
  41. package/cjs/react-pixi-fiber.production.min.js +0 -21
  42. package/cjs/react-pixi-fiber.production.min.js.map +0 -1
  43. package/es/react-pixi-alias.development.js +0 -37
  44. package/es/react-pixi-alias.production.min.js +0 -2
  45. package/es/react-pixi-alias.production.min.js.map +0 -1
  46. package/es/react-pixi-fiber.development.js +0 -24362
  47. package/es/react-pixi-fiber.production.min.js +0 -21
  48. package/es/react-pixi-fiber.production.min.js.map +0 -1
  49. package/index.d.ts +0 -375
  50. package/index.es.js +0 -5
  51. package/index.umd.js +0 -5
  52. package/react-pixi-alias.js +0 -5
  53. package/src/AppProvider.js +0 -74
  54. package/src/CustomPIXIComponent.js +0 -75
  55. package/src/PixiProperty.js +0 -231
  56. package/src/PixiPropertyOperations.js +0 -72
  57. package/src/ReactGlobalSharedState.js +0 -15
  58. package/src/ReactPixiFiber.js +0 -256
  59. package/src/ReactPixiFiberComponent.js +0 -197
  60. package/src/Stage/common.js +0 -77
  61. package/src/Stage/hooks.js +0 -176
  62. package/src/Stage/index.js +0 -7
  63. package/src/Stage/legacy.js +0 -156
  64. package/src/Stage/propTypes.js +0 -42
  65. package/src/compat.js +0 -17
  66. package/src/index.js +0 -37
  67. package/src/inject.js +0 -52
  68. package/src/possibleStandardNames.js +0 -182
  69. package/src/propTypes.js +0 -57
  70. package/src/props.js +0 -95
  71. package/src/react-pixi-alias/index.js +0 -38
  72. package/src/render.js +0 -43
  73. package/src/types.js +0 -11
  74. package/umd/react-pixi-alias.development.js +0 -78
  75. package/umd/react-pixi-alias.production.min.js +0 -2
  76. package/umd/react-pixi-alias.production.min.js.map +0 -1
  77. package/umd/react-pixi-fiber.development.js +0 -24409
  78. package/umd/react-pixi-fiber.production.min.js +0 -21
  79. package/umd/react-pixi-fiber.production.min.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,626 @@
1
+ # CHANGELOG
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ This project adheres to [Semantic Versioning](http://semver.org/). From 3.0.0 on, [Changesets](https://github.com/changesets/changesets) writes the entries from `.changeset/` at release; the entries up to 2.x follow [Keep a Changelog](http://keepachangelog.com/).
6
+
7
+ ## 3.0.0-alpha.0
8
+
9
+ ### Major Changes
10
+
11
+ - [#377](https://github.com/michalochman/react-pixi-fiber/pull/377) [`446f761`](https://github.com/michalochman/react-pixi-fiber/commit/446f7619b852df4ffdf432d5c032e837f21968ee) Thanks [@michalochman](https://github.com/michalochman)! - Split into a core package and per-version adapters. Call `configure({ react, pixi })` once at the app entry with a React adapter (`@react-pixi-fiber/react-17`, `react-18`, `react-19`) and a PixiJS adapter (`@react-pixi-fiber/pixi-4` to `pixi-8`). See the migration guide in the README.
12
+
13
+ ### Added
14
+ - `configure({ react, pixi })`, called once in the app entry before the first render, wires a React adapter and a PixiJS adapter into the core. Without it the first render throws an error that prints the install line and the setup lines
15
+ - React adapters: `@react-pixi-fiber/react-17` for React 17.0.2 or a later 17.x, `@react-pixi-fiber/react-18` for React 18.3.1 or a later 18.x and `@react-pixi-fiber/react-19` for React 19.3 or a later 19.x
16
+ - PixiJS adapters: `@react-pixi-fiber/pixi-4` for PixiJS 4.4 or a later 4.x, `@react-pixi-fiber/pixi-5`, `@react-pixi-fiber/pixi-6`, `@react-pixi-fiber/pixi-7` for PixiJS 7.2 or a later 7.x and `@react-pixi-fiber/pixi-8` for PixiJS 8.9 or a later 8.x. The `pixi-7` and `pixi-8` adapters have a `compat/pixi6` module that translates the 2.x props their PixiJS version renamed or ignores. Each adapter's changelog lists its tags and peers
17
+ - Fragment refs on React 19: a `<Fragment ref>` inside `Stage` receives a `PixiFragmentInstance` with `children`, `getBounds()`, `off(event, fn)` and `on(event, fn)` over the fragment's top-level display objects
18
+ - The PixiJS adapter's `defaults` option sets default props per tag, like React's `defaultProps`: `pixi6({ defaults: { Sprite: { alpha: 0.5 } } })`. A prop that is missing or `undefined` when the instance is created gets its default before `create` runs, and a prop removed later, or set to `undefined`, returns to it. An explicit `null` is kept. Entries are keyed by the tag name; the deprecated `NineSlicePlane` on PixiJS 8 is keyed as `NineSliceSprite`
19
+ - A PixiJS adapter can rename props with `translateProps` before they are validated, set or diffed; a `PIXIComponent` with its own `applyProps` receives the props as written, with the `defaults` applied
20
+ - `PIXIComponent(type, behavior)` and `PIXIProperty` replace `CustomPIXIComponent(behavior, type)` and `CustomPIXIProperty`. Behavior keys are `create`, `applyProps`, `afterAdd`, `beforeRemove`, and the unstable `appendChild`, `insertBefore` and `removeChild`, which let a container own the order of children that are not display objects. The `Behavior`, `BehaviorInput` and `ApplyPropsContext` types describe a behavior
21
+ - `getInstanceTag(instance)` returns the tag an instance was created with, after a deprecated tag is mapped
22
+ - A tag registered with `PIXIComponent` under the name of an adapter tag replaces the adapter tag and warns once in development. 2.x always created the built-in tag
23
+ - `PIXIProperty` accepts tags registered with `PIXIComponent`; 2.x reported them as not a valid component type
24
+ - `PixiTickerCallback` type export, the callback type `usePixiTicker` takes
25
+ - Tags `AnimatedSprite`, `Mesh`, `MeshSimple`, `MeshPlane`, `MeshRope` and `NineSliceSprite`. Every PixiJS adapter implements all 13 tags
26
+ - `Stage` `onInit(app)` prop, called once the PixiJS application exists and the children are rendered
27
+ - `Stage` `bridgeContexts` prop, a list of React contexts provided around `Stage` that its children can read. React does not pass context between renderers; `Stage` reads each context where it renders and provides it again inside, and renders the children again when a value changes
28
+
29
+ ### Changed
30
+ - `react-reconciler` moved from the core into the React adapters; `@react-pixi-fiber/react-17` bundles `react-reconciler` 0.26.2, `@react-pixi-fiber/react-18` 0.29.2 and `@react-pixi-fiber/react-19` 0.34.0
31
+ - `pixi.js` is no longer a peer dependency of the core, the PixiJS adapter has it. The core's `react` peer is `>=17.0.0 <20.0.0`
32
+ - PixiJS 7.0–7.1 and 8.0–8.8 are not supported: `@react-pixi-fiber/pixi-7` peers `pixi.js` ^7.2.0 (`eventMode` first ships in 7.2) and `@react-pixi-fiber/pixi-8` peers `pixi.js` ^8.9.0 (the first 8.x with every tag it exports). 2.x peered `pixi.js` >=4.4.0 <8
33
+ - A second `configure` call after a render warns once in development. Trees already rendered keep their React renderer; new PixiJS instances and prop writes use the new adapter
34
+ - The types `InteractionCompatibility`, `InteractionEventCompatibility` and `PixiTypeFallback` import from the PixiJS adapter: `@react-pixi-fiber/pixi-4`, `pixi-5` and `pixi-6` export all three, `@react-pixi-fiber/pixi-7` exports `PixiTypeFallback`
35
+ - Build output moved from `cjs/` and `es/` to `dist/cjs/` and `dist/es/`. Imports of `react-pixi-fiber` are unaffected; direct paths to the built files need the `dist/` prefix
36
+ - The `usePixiTicker` callback has the type `app.ticker.add` takes on the configured PixiJS version
37
+ - Examples are built with Vite instead of Create React App
38
+ - Examples run on PixiJS 7 with `@pixi/layers` instead of PixiJS 6
39
+ - `package.json` has an `exports` map. Bundlers that understand it (webpack 5, Vite) get the ES build directly, the development or production file picked by the `development` condition; Node and `require` still get the CommonJS entry points. Only `react-pixi-fiber` and `react-pixi-fiber/package.json` can be imported, deep imports into `dist/` or `src/` no longer resolve
40
+ - The `module` and `jsnext:main` fields and `index.es.js` are removed. `index.es.js` was a CommonJS wrapper around the ES build; bundlers that ignore `exports` now use `main`
41
+ - The type declarations are regular modules for the CommonJS and the ES build instead of a `declare module "react-pixi-fiber"` block. `tsconfig.json` `paths` pointing `react-pixi-fiber` at `index.d.ts` are no longer needed
42
+ - Code is formatted and linted with Biome instead of Prettier and ESLint
43
+ - The library is built with [tsdown](https://tsdown.dev) instead of Rollup 2 and Babel. The code targets ES2018 instead of ES5 and is minified with Oxc instead of terser; for the same source the development builds are about 20% and the production builds about 3% smaller
44
+ - The library tests run with [Vitest](https://vitest.dev) instead of Jest 26; `pnpm test` still runs the development and production suites. Babel and babel-plugin-rewire are gone, the tests mock modules with `vi.mock` instead
45
+ - `Stage` creates the PixiJS application asynchronously. Children mount after `Stage` commits; `ref._app.current` is `null` until `onInit` fires and warns in development when read before that
46
+ - `Stage` calls `onInit` once for every application it creates or is given in `app` and keeps, so again after an `options` change recreates the application. An `options` change while the application is being created is applied once it exists. A failed application creation (a thrown error or a rejected promise) reaches the nearest error boundary. Unmounting `Stage` before the application exists destroys the application when it is ready and never calls `onInit`
47
+ - Destroying the application of an unmounted or recreated `Stage` keeps the WebGL context of a canvas still in the document, such as an external `options.view`, so the next application on that canvas can draw; 2.x lost it. The next application is created once the previous one is destroyed. The development double mount under `<StrictMode>` no longer leaves the canvas blank
48
+ - `Stage` warns once in development when its `app` prop changes after mount; it keeps the application it started with
49
+ - `Stage` renders no `<canvas>` when `options.canvas` is set, as for `options.view`. On PixiJS 8 the application draws on the given canvas; when both are given, `view` wins. On PixiJS 4 to 7 `canvas` is not an application option, and `Stage` warns once in development
50
+ - `Stage` has no `defaultProps`: `ref.current.props.options` is `undefined` when `options` is omitted (it was `{}`)
51
+ - `Stage` passes typed prop names and Container prop names (for example `buttonMode`, `interactiveChildren`) to `app.stage`. 2.x compared the names in lowercase, so these props went to the `<canvas>` element
52
+ - A prop set to `undefined` is reset to the value PixiJS had before the first write, recorded per instance, instead of a value from a table. This covers every PixiJS version and custom components. For example `Text` `text` set to `undefined` goes back to the value the `PIXI.Text` was created with, not `""`
53
+ - Removing a prop restores the value the instance had before react-pixi-fiber first set it, which may be `undefined` on PixiJS 8 (`mask`, `filters`), instead of setting numeric and untyped props to `null`, so `<Sprite alpha={0.5} />` re-rendered as `<Sprite />` has `alpha` 1 again. An explicit `null` is still set as-is on numeric, boolean and untyped props; on point and callback props it is an invalid value, as in 2.x. A prop set to `undefined` or removed no longer warns under `<StrictMode>`; the development warning for an invalid value names the received value ("Received `-1` for prop `alpha`…") instead of "Received undefined"
54
+ - Development prop validation now runs on React 18 and 19 for components under a `<StrictMode>` placed inside `Stage` (or inside the tree passed to `render`). It never ran on React 18 or 19 before, because the library checked React 17's mode bit. A `<StrictMode>` around `<Stage>` does not reach the PixiJS tree, which is a separate React root, as in 2.x
55
+ - A boolean or function value on a prop the library does not type is set on the instance instead of being dropped (`<Container sortableChildren />` works on PixiJS 4 to 7). Unknown prop names are no longer reported in development; they are set as-is. The development warning for an event handler prop checks only `on` plus an uppercase letter, so `onclick` no longer warns
56
+ - `applyProps(instance, oldProps, newProps)` is exported for higher-order components; `_customApplyProps`, `_customDidAttach`, `_customWillDetach` are no longer attached to display objects
57
+ - A behavior object is read with `{ ...behavior }`, so only its own properties count. A behavior that is a class instance must set `create`, `applyProps`, `afterAdd` and `beforeRemove` as own properties, methods on its prototype are not found
58
+ - `Graphics` passes a prop to the `PIXI.Graphics` constructor: `nativeLines` on PixiJS 4, `geometry` on PixiJS 5 to 7 and `context` on PixiJS 8. 2.x passed nothing
59
+ - `unmount(container)` never throws and returns a boolean, as `unmountComponentAtNode` does: `true` when the container was rendered into (a second `unmount` of the same container is a no-op, as in 2.x), `false` plus a development warning `ReactPixiFiber did not render into container provided` when it never was. 2.x threw for a container never rendered into. Roots are held weakly by container, so an unmounted `Stage` no longer keeps its destroyed `app.stage` and React root alive; 2.x kept every root
60
+ - `afterAdd` (2.x `customDidAttach`) runs when a child joins a parent, also when it is inserted before a sibling, which 2.x never did. A keyed reorder within the same parent moves the child without calling `afterAdd` or `beforeRemove`; 2.x called `customDidAttach` again when `appendChild` moved a child, which added a listener subscribed there a second time
61
+ - `AppContext` is typed `Context<Application | null>`, its default value is `null`. `withApp` accepts any component with an `app` prop, `PixiAppProperties` is still exported for that prop. The `displayName` of a `withApp` component is `withApp(Name)` instead of the source of the wrapped function
62
+ - The source is TypeScript; the types ship from the build instead of a handwritten `index.d.ts`. `CustomDisplayObject*` and `CustomPIXIComponent*` types are renamed without the `Custom` prefix. The PixiJS adapter fills in the tag and prop types when it is imported; without an adapter import every tag takes loose props. Each PixiJS adapter has its own typed prop table, so a prop typed in 2.x but not by the adapter, for example `tint` on PixiJS 8, is set as-is without validation. The `PixiAdapter`, `ReactAdapter` and `HostOps` types describe an adapter
63
+
64
+ ### Deprecated
65
+ Each deprecated item keeps working in 3.x and is removed in 4.0.0. The deprecated functions, behavior keys and `Stage` props warn once in development, the `NineSlicePlane` tag on PixiJS 8 only; the deprecated types, for example `InteractiveComponent` and the `Custom*` names, do not warn.
66
+ - `CustomPIXIComponent(behavior, type)` and `CustomPIXIProperty`, use `PIXIComponent(type, behavior)` and `PIXIProperty`
67
+ - Behavior keys `customDisplayObject`, `customApplyProps`, `customDidAttach` and `customWillDetach`, use `create`, `applyProps`, `afterAdd` and `beforeRemove`
68
+ - The `Custom*` type names (`CustomDisplayObject*`, `CustomPIXIComponent*`), use the names without the prefix
69
+ - `createStageClass`, it returns the function `Stage`
70
+ - Tag `NineSlicePlane`, use `NineSliceSprite`. On PixiJS 8 it maps to `NineSliceSprite`; the PixiJS 4 to 7 adapters keep it as a tag
71
+ - `Stage` `width` and `height` props (deprecated since 0.12.0, the warning no longer needs `prop-types`). As in 2.x they set `app.stage.width` and `app.stage.height` and never size the renderer or reach the `<canvas>`; the renderer size comes from `options.width` and `options.height`
72
+ - The `InteractiveComponent` type in `react-pixi-fiber`, import it from `@react-pixi-fiber/pixi-4`, `pixi-5` or `pixi-6`
73
+
74
+ ### Removed
75
+ - The `react-pixi-fiber/react-pixi-alias` subpath and the `react-dom` peer dependency
76
+ - UMD builds, the `prop-types` peer dependency and runtime prop-types validation, `fbjs`
77
+ - `Stage` as a class component
78
+ - The PixiJS 4 fallbacks to the `PIXI.extras`, `PIXI.mesh` and `PIXI.particles` namespaces are removed from the core; PixiJS 4 support moves to the `@react-pixi-fiber/pixi-4` adapter
79
+
80
+ ### Fixed
81
+ - `cancelTimeout` cancels the timeout: `scheduleTimeout` returns its handle
82
+ - `useId` returns ids without the `undefined` prefix (`:r0:` instead of `:undefinedr0:`), the root's `identifierPrefix` is `""`
83
+ - Errors React recovers from are logged with `console.error` on React 18 and 19; 2.x passed no `onRecoverableError` handler, so the reconciler called `undefined`
84
+ - `StageProps` rejects `app` and `options` passed together; 2.x typed both as optional in one object
85
+
86
+ ## 2.0.0-rc.4 - 2026-09-28
87
+
88
+ ### Fixed
89
+ - TypeScript: `Text` accepts a plain style object in `style` (`Partial<PIXI.ITextStyle>`), matching the `PIXI.Text` setter. PixiJS v7 types the `style` getter as `TextStyle` only, so passing an object literal failed to typecheck
90
+
91
+
92
+ ## 2.0.0-rc.3 - 2026-09-26
93
+
94
+ ### Fixed
95
+ - Create React App 5 (and other webpack builds with strict export checks) failed with "Attempted import error: 'extras' is not exported from 'pixi.js'" when using PixiJS v5+. The ES build read the PixiJS v4 `extras`, `mesh` and `particles` namespaces straight from the `pixi.js` import, the fallback to the top-level classes is unchanged
96
+
97
+
98
+ ## 2.0.0-rc.2 - 2026-09-26
99
+
100
+ ### Added
101
+ - TypeScript: `CustomPIXIProperty` is now declared in `index.d.ts`
102
+ - TypeScript: `PointLikeTuple` accepts a single element tuple (e.g. `scale={[2]}`), matching runtime behavior
103
+ - TypeScript: `this.applyDisplayObjectProps` inside `customApplyProps` is now typed (`CustomDisplayObjectPropSetterContext`), along with `CustomPIXIComponentProps` helper type
104
+ - Examples are now written in TypeScript and typechecked against the local `index.d.ts` in CI
105
+
106
+ ### Fixed
107
+ - `Stage` renders a new canvas when `PIXI.Application` is recreated after non-dimensional `options` change. Previously the new `PIXI.Application` shared the canvas with the one being destroyed, and destroying it unbound the current WebGL program (PixiJS v6) or lost the context (PixiJS v7), leaving only the background color rendered
108
+
109
+
110
+ ## 2.0.0-rc.1 - 2026-09-26
111
+
112
+ ### Changed
113
+ - `ref` on built-in and custom components is now typed as the underlying `PIXI.DisplayObject` instance instead of the props type
114
+ - Every component accepts `children` again in TypeScript, as every wrapped display object is a `PIXI.Container`
115
+ - Declared `pixi.js` peer dependency as `>=4.4.0 <8.0.0`, PixiJS v8 is not supported
116
+
117
+ ### Removed
118
+ - Removed unstable_batchedUpdates API ([#89])
119
+
120
+
121
+ ## 2.0.0-alpha.1 - 2025-01-16
122
+
123
+ ### Changed
124
+ - Requires React 18.2 or newer, `react-reconciler` updated to 0.29
125
+
126
+
127
+ ## 1.0.6 - 2023-01-13
128
+
129
+ ### Added
130
+ - Added support for events in PixiJS v7.1 ([#306])
131
+
132
+
133
+ ## 1.0.4 - 2022-10-19
134
+
135
+ ### Fixed
136
+ - Fixed reconciler to check that parent exists before calling `appendChild` ([#291])
137
+ - Fixed `useStageRerenderer` hook in `React.StrictMode` ([#285])
138
+
139
+
140
+ ## 1.0.3 - 2022-10-11
141
+
142
+ ### Fixed
143
+ - Fixed reconciler to check that container exists before calling `removeChildren` ([#286])
144
+
145
+
146
+ ## 1.0.2 - 2022-09-01
147
+
148
+ ### Fixed
149
+ - Fixed ES build by replacing inline require with regular import ([#283])
150
+
151
+
152
+ ## 1.0.1 - 2022-08-02
153
+
154
+ ### Fixed
155
+ - Fixed peer dependencies ([#277])
156
+
157
+
158
+ ## 1.0.0 - 2022-07-19
159
+
160
+ ### Added
161
+ - Added ReactDOM-like prop validation in development ([#47])
162
+ - Added ES format output
163
+ - Added missing `prop-types` dependency ([#221])
164
+
165
+ ### Changed
166
+ - Updated build dependencies
167
+ - Updated dev dependencies
168
+ - Changed `Stage` class and function component types to be the same ([#225])
169
+ - Changed Stage to delay destroying PIXI.Application when unmounting
170
+ - Changed usePixiApp to throw an error when used outside of <Stage /> ([#227])
171
+
172
+ ### Fixed
173
+ - Fixed type of `oldProps` sent to `customApplyProps` of `CustomPIXIComponent`
174
+ - Fixed hook-based `Stage` to render and rerender synchronously ([#204])
175
+ - Fixed type compatibility with PixiJS v6.0.0 ([#210])
176
+ - Fixed breaking change when undefined values were assigned to props with previously defined values
177
+
178
+ ### Removed
179
+ - Removed `performance-now` dependency
180
+
181
+
182
+ ## 0.14.2 - 2020-11-28
183
+
184
+ ### Fixed
185
+ - Fixed compatibility with React 17 and React.Suspense ([#196])
186
+
187
+
188
+ ## 0.14.1 - 2020-07-13
189
+
190
+ ### Fixed
191
+ - Fixed type compatibility with PixiJS v5.3.0 ([#185])
192
+
193
+
194
+ ## 0.14.0 - 2020-04-04
195
+
196
+ ### Added
197
+ - Added <NineSlicePlane /> component ([#176])
198
+
199
+ ### Fixed
200
+ - Fixed applyProps type definition ([#176])
201
+ - Fixed `StagePropsWithOptions` type definition to work with both PixiJS v4 and v5 ([#180])
202
+ - Fixed `StageProps` type definition to include `Container` props and exclude width and height ([#182])
203
+
204
+
205
+ ## 0.13.2 - 2020-02-17
206
+
207
+ ### Fixed
208
+ - Fixed `Stage` not to resize renderer if app is provided in props ([#174])
209
+
210
+
211
+ ## 0.13.1 - 2020-02-13
212
+
213
+ ### Added
214
+ - Added exports for type of props for built-in components ([#170])
215
+
216
+
217
+ ## 0.13.0 - 2020-02-03
218
+
219
+ ### Added
220
+ - Added `style` prop to `BitmapText` type ([#166])
221
+
222
+ ### Fixed
223
+ - Fixed type definitions to work with both PixiJS v4 and v5 ([#166])
224
+ - Fixed type definitions for properties of type `any` being replaced with `PointLike` ([#166])
225
+ - Fixed type definitions for built-in components to be able to use `ref`s ([#166])
226
+ - Fixed type definitions for `AppContext` which was exported as type, not as value ([#166])
227
+
228
+
229
+ ## 0.12.3 - 2020-01-28
230
+
231
+ ### Added
232
+ - Added missing type definitions ([#163])
233
+
234
+ ### Fixed
235
+ - Fixed type definitions for `CustomPIXIComponents` ([#163])
236
+ - Fixed type definitions for `Stage` to be able to use `ref`s ([#165])
237
+
238
+
239
+ ## 0.12.2 - 2020-01-20
240
+
241
+ ### Added
242
+ - Added support for point like props ([#162])
243
+
244
+ ### Changed
245
+ - Rewrote types definition
246
+
247
+
248
+ ## 0.12.1 - 2019-12-26
249
+
250
+ ### Fixed
251
+ - Fixed `ReactPixiFiber` to destroy child components when parent is removed from tree ([#157])
252
+
253
+
254
+ ## 0.12.0 - 2019-11-23
255
+
256
+ ### Added
257
+ - Added `app` prop to `Stage` ([#154])
258
+
259
+ ### Deprecated
260
+ - Deprecated `width` and `height` props of `Stage` ([#153])
261
+
262
+
263
+ ## 0.11.1 - 2019-10-25
264
+
265
+ ### Fixed
266
+ - Fixed usage of Point copy/copyFrom in PixiJS v5 ([#149])
267
+
268
+
269
+ ## 0.11.0 - 2019-10-22
270
+
271
+ ### Changed
272
+ - Exposed `createStageClass` from `Stage` ([#147])
273
+ - Changed dev tools version reported to be `React` version instead of `ReactPixiFiber` version ([#148])
274
+
275
+
276
+ ## 0.10.0 - 2019-10-18
277
+
278
+ ### Added
279
+ - Added `usePixiAppCreator`, `usePixiApp` and `usePixiTicker` hooks ([#127])
280
+
281
+ ### Changed
282
+ - Improved hooks support ([#127])
283
+
284
+
285
+ ## 0.9.3 - 2019-08-29
286
+
287
+ ### Changed
288
+ - Changed `console.warn` calls into `fbjs/lib/warning` calls.
289
+
290
+ ### Fixed
291
+ - Fixed setting default prop value when removing prop from instance ([#141])
292
+
293
+
294
+ ## 0.9.2 - 2019-08-01
295
+
296
+ ### Fixed
297
+ - Fixed type definition to include `withApp` ([#125])
298
+
299
+
300
+ ## 0.9.1 - 2019-07-31
301
+
302
+ ### Fixed
303
+ - Fixed renderer to be secondary when using `<Stage />` component
304
+
305
+
306
+ ## 0.9.0 - 2019-07-01
307
+
308
+ ### Added
309
+ - Added `scheduler`
310
+
311
+ ### Changed
312
+ - Updated `react-reconciler` to `0.20.4` ([#122])
313
+
314
+ ### Fixed
315
+ - Fixed PixiJS v5 compatibility issues ([#118])
316
+
317
+
318
+ ## 0.8.2 - 2019-07-01
319
+
320
+ ### Changed
321
+ - Changed `render` to inject into dev tools once per `containerTag`
322
+
323
+ ### Fixed
324
+ - Fixed `setPixiValue` for Point values when using PixiJS v5 ([#120])
325
+
326
+
327
+ ## 0.8.1 - 2019-05-29
328
+
329
+ ### Fixed
330
+ - Fixed interactive elements type definition ([#109])
331
+
332
+ ### Removed
333
+ - Removed `package.json` references from bundled code ([#112])
334
+
335
+
336
+ ## 0.8.0 - 2019-02-24
337
+
338
+ ### Added
339
+ - Expose `applyProps` from `ReactPixiFiber` ([#95])
340
+ - Added example of "native" Animated target for `react-pixi-fiber` ([#95])
341
+ - Added custom test environment for `jest` ([#97])
342
+
343
+ ### Changed
344
+ - Replaced deprecated canvas-prebuilt development dependency by canvas ([#97])
345
+
346
+ ### Fixed
347
+ - Fixed `customDidAttach` of example `<DraggableContainer />` component ([#91])
348
+ - Fixed `insertBefore` method of `ReactPixiFiber` ([#98])
349
+
350
+
351
+ ## 0.7.0 - 2018-12-27
352
+
353
+ ### Added
354
+ - Added unstable_batchedUpdates API ([#89])
355
+
356
+
357
+ ## 0.6.2 - 2018-11-14
358
+
359
+ ### Fixed
360
+ - Fixed PixiJS event props not being passed to `<Stage />` component ([#85])
361
+
362
+
363
+ ## 0.6.1 - 2018-11-10
364
+
365
+ ### Fixed
366
+ - Fixed context not passed through from primary renderer (`react-dom`) into `react-pixi-fiber` ([#84])
367
+
368
+
369
+ ## 0.6.0 - 2018-11-10
370
+
371
+ ### Fixed
372
+ - Fixed React 16.6.0 compatibility ([#83])
373
+
374
+
375
+ ## 0.5.1 - 2018-11-02
376
+
377
+ ### Added
378
+ - Added AppContext to type definition ([#81])
379
+
380
+ ### Fixed
381
+ - Fixed render function type definition ([#76])
382
+
383
+
384
+ ## 0.5.0 - 2018-10-10
385
+
386
+ ### Added
387
+ - Added support for New Context API ([#72])
388
+
389
+ ### Fixed
390
+ - Fixed React 16.5.0 compatibility ([#71])
391
+
392
+
393
+ ## 0.4.9 - 2018-07-09
394
+
395
+ ### Changed
396
+ - Changed `defaultApplyProps` to wrap console warnings in dev flag ([#67])
397
+
398
+
399
+ ## 0.4.8 - 2018-06-25
400
+
401
+ ### Changed
402
+ - Updated `react-reconciler` to `0.12.0` ([#65])
403
+
404
+ ### Fixed
405
+ - Removed namespace from Typescript definition ([#64])
406
+
407
+
408
+ ## 0.4.7 - 2018-06-10
409
+
410
+ ### Changed
411
+ - Changed `<Stage />` to support `width` and `height` passed in `options` prop ([#60])
412
+
413
+ ### Fixed
414
+ - Fixed TypeScript definitions to support TypeScript 2.9 ([#58])
415
+ - Fixed memory leak when mounting/unmounting `<Stage />` ([#61])
416
+
417
+
418
+ ## 0.4.6 - 2018-05-22
419
+
420
+ ### Fixed
421
+ - Fixed TypeScript definitions ([#54])
422
+
423
+
424
+ ## 0.4.5 - 2018-05-18
425
+
426
+ ### Changed
427
+ - Updated `react-reconciler` to `0.10.0` ([#53])
428
+
429
+
430
+ ## 0.4.4 - 2018-05-09
431
+
432
+ ### Fixed
433
+ - Fixed cjs build of react-pixi-alias
434
+
435
+
436
+ ## 0.4.3 - 2018-03-28
437
+
438
+ ### Fixed
439
+ - Fixed entry point to load module by env
440
+ - Fixed `commitUpdate` for `CustomPIXIComponents` ([#44])
441
+
442
+
443
+ ## 0.4.2 - 2018-03-27
444
+
445
+ ### Fixed
446
+ - Fixed cjs build
447
+
448
+
449
+ ## 0.4.1 - 2018-03-27 [YANKED]
450
+
451
+ ### Added
452
+ - Added unit tests ([#6])
453
+
454
+ ### Changed
455
+ - Changed bundler from babel-cli to Rollup
456
+
457
+ ### Fixed
458
+ - Fixed `prepareUpdate` to return diff of props ([#43])
459
+
460
+
461
+ ## 0.4.0 - 2018-02-28
462
+
463
+ ### Fixed
464
+ - Fixed DisplayObject members passed to Stage as props not being applied to root Container ([#38])
465
+
466
+
467
+ ## 0.3.1 - 2018-02-25
468
+
469
+ ### Fixed
470
+ - Fixed PropTypes warning in Stage ([#34])
471
+ - Added `react-pixi-alias.js` file to distributed package `files` list ([#37])
472
+
473
+
474
+ ## 0.3.0 - 2018-02-15
475
+
476
+ ### Added
477
+ - Added parser for PIXI.Point-like props - Point-like DisplayObject members can now be assigned using string, number, array and Point/ObservablePoint ([#19])
478
+ - Added support for custom components using `react-pixi` API ([#19])
479
+
480
+ ### Changed
481
+ - Changed `<Stage />` to pass `options` prop to `PIXI.Application` ([#28])
482
+ - Changed `<Stage />` to pass not consumed props to rendered canvas ([#29])
483
+ - Changed `<Stage />` to resize renderer when dimensions are changed ([#30])
484
+ - Changed inconsistent usage of reconciler config functions to use regular functions instead of anonymous arrow functions
485
+ - Changed `PIXI.DisplayObject` members handling when passed as props - `undefined` values will now be replaced with default values if default defined
486
+
487
+ ### Fixed
488
+ - Fixed deprecated usage of `PIXI.BitmapText` to `PIXI.extras.BitmapText`
489
+
490
+ ### Removed
491
+ - Removed `backgroundColor` prop from `<Stage />` ([#28])
492
+
493
+
494
+ ## 0.2.5 - 2018-02-11
495
+
496
+ ### Added
497
+ - Added back removed `useSyncScheduling` option ([#15])
498
+
499
+ ### Fixed
500
+ - Added `index.d.ts` file to distributed package `files` list ([#4], [#8])
501
+
502
+
503
+ ## 0.2.4 - 2018-02-07 [YANKED]
504
+
505
+ ### Removed
506
+ - Removed deprecated `useSyncScheduling` option ([#15])
507
+
508
+
509
+ ## 0.2.3 - 2018-02-06
510
+
511
+ ### Added
512
+ - Added an alias for "easy" migration from [`react-pixi`](https://github.com/Izzimach/react-pixi) ([#9])
513
+ - Added TypeScript definitions ([#8])
514
+
515
+
516
+ ## 0.2.2 - 2018-01-17
517
+
518
+ ### Fixed
519
+ - Fixed distributed cjs files by using `transform-es2015-modules-commonjs` with `babel` ([#4])
520
+
521
+
522
+ ## 0.2.1 - 2018-01-17
523
+
524
+ ### Added
525
+ - Added `<ParticleContainer />` component
526
+ - Added development build script
527
+ - Added `files` to `package.json`
528
+
529
+
530
+ ## 0.2.0 - 2018-01-05
531
+
532
+ ### Added
533
+ - Added standalone `render` function ([#2])
534
+
535
+
536
+ ## 0.1.1 - 2018-01-05
537
+
538
+ ### Fixed
539
+ - Added missing `performance-now` dependency
540
+
541
+
542
+ ## 0.1.0 - 2018-01-05
543
+
544
+ ### Added
545
+ - Added `ReactPixiFiber` renderer
546
+ - Added `<Stage />` component
547
+ - Added `<BitmapText />` component
548
+ - Added `<Container />` component
549
+ - Added `<Graphics />` component
550
+ - Added `<Sprite />` component
551
+ - Added `<Text />` component
552
+ - Added `<TilingSprite />` component
553
+
554
+
555
+
556
+ [#306]: https://github.com/michalochman/react-pixi-fiber/pull/306
557
+ [#291]: https://github.com/michalochman/react-pixi-fiber/pull/291
558
+ [#286]: https://github.com/michalochman/react-pixi-fiber/pull/286
559
+ [#285]: https://github.com/michalochman/react-pixi-fiber/issues/285
560
+ [#283]: https://github.com/michalochman/react-pixi-fiber/pull/283
561
+ [#277]: https://github.com/michalochman/react-pixi-fiber/pull/277
562
+ [#227]: https://github.com/michalochman/react-pixi-fiber/issues/227
563
+ [#225]: https://github.com/michalochman/react-pixi-fiber/issues/225
564
+ [#221]: https://github.com/michalochman/react-pixi-fiber/issues/221
565
+ [#210]: https://github.com/michalochman/react-pixi-fiber/issues/210
566
+ [#204]: https://github.com/michalochman/react-pixi-fiber/issues/204
567
+ [#196]: https://github.com/michalochman/react-pixi-fiber/issues/196
568
+ [#185]: https://github.com/michalochman/react-pixi-fiber/issues/185
569
+ [#182]: https://github.com/michalochman/react-pixi-fiber/pull/182
570
+ [#180]: https://github.com/michalochman/react-pixi-fiber/pull/180
571
+ [#174]: https://github.com/michalochman/react-pixi-fiber/pull/174
572
+ [#170]: https://github.com/michalochman/react-pixi-fiber/pull/170
573
+ [#166]: https://github.com/michalochman/react-pixi-fiber/pull/166
574
+ [#165]: https://github.com/michalochman/react-pixi-fiber/pull/165
575
+ [#163]: https://github.com/michalochman/react-pixi-fiber/pull/163
576
+ [#162]: https://github.com/michalochman/react-pixi-fiber/pull/162
577
+ [#157]: https://github.com/michalochman/react-pixi-fiber/pull/157
578
+ [#154]: https://github.com/michalochman/react-pixi-fiber/pull/154
579
+ [#153]: https://github.com/michalochman/react-pixi-fiber/pull/153
580
+ [#149]: https://github.com/michalochman/react-pixi-fiber/issues/149
581
+ [#148]: https://github.com/michalochman/react-pixi-fiber/pull/148
582
+ [#147]: https://github.com/michalochman/react-pixi-fiber/pull/147
583
+ [#141]: https://github.com/michalochman/react-pixi-fiber/pull/141
584
+ [#127]: https://github.com/michalochman/react-pixi-fiber/pull/127
585
+ [#125]: https://github.com/michalochman/react-pixi-fiber/issues/125
586
+ [#122]: https://github.com/michalochman/react-pixi-fiber/issues/122
587
+ [#120]: https://github.com/michalochman/react-pixi-fiber/issues/120
588
+ [#118]: https://github.com/michalochman/react-pixi-fiber/issues/118
589
+ [#112]: https://github.com/michalochman/react-pixi-fiber/pull/112
590
+ [#109]: https://github.com/michalochman/react-pixi-fiber/pull/109
591
+ [#98]: https://github.com/michalochman/react-pixi-fiber/pull/98
592
+ [#97]: https://github.com/michalochman/react-pixi-fiber/pull/97
593
+ [#95]: https://github.com/michalochman/react-pixi-fiber/pull/95
594
+ [#91]: https://github.com/michalochman/react-pixi-fiber/issues/91
595
+ [#89]: https://github.com/michalochman/react-pixi-fiber/pull/89
596
+ [#85]: https://github.com/michalochman/react-pixi-fiber/issues/85
597
+ [#84]: https://github.com/michalochman/react-pixi-fiber/pull/84
598
+ [#83]: https://github.com/michalochman/react-pixi-fiber/pull/83
599
+ [#81]: https://github.com/michalochman/react-pixi-fiber/issues/81
600
+ [#76]: https://github.com/michalochman/react-pixi-fiber/pull/76
601
+ [#72]: https://github.com/michalochman/react-pixi-fiber/pull/72
602
+ [#71]: https://github.com/michalochman/react-pixi-fiber/issues/71
603
+ [#67]: https://github.com/michalochman/react-pixi-fiber/pull/67
604
+ [#65]: https://github.com/michalochman/react-pixi-fiber/pull/65
605
+ [#64]: https://github.com/michalochman/react-pixi-fiber/pull/64
606
+ [#61]: https://github.com/michalochman/react-pixi-fiber/pull/61
607
+ [#60]: https://github.com/michalochman/react-pixi-fiber/pull/60
608
+ [#58]: https://github.com/michalochman/react-pixi-fiber/issues/58
609
+ [#54]: https://github.com/michalochman/react-pixi-fiber/issues/54
610
+ [#53]: https://github.com/michalochman/react-pixi-fiber/pull/53
611
+ [#47]: https://github.com/michalochman/react-pixi-fiber/pull/47
612
+ [#44]: https://github.com/michalochman/react-pixi-fiber/issues/44
613
+ [#43]: https://github.com/michalochman/react-pixi-fiber/issues/43
614
+ [#38]: https://github.com/michalochman/react-pixi-fiber/issues/38
615
+ [#37]: https://github.com/michalochman/react-pixi-fiber/pull/37
616
+ [#34]: https://github.com/michalochman/react-pixi-fiber/pull/34
617
+ [#30]: https://github.com/michalochman/react-pixi-fiber/pull/31
618
+ [#29]: https://github.com/michalochman/react-pixi-fiber/issues/29
619
+ [#28]: https://github.com/michalochman/react-pixi-fiber/issues/28
620
+ [#19]: https://github.com/michalochman/react-pixi-fiber/issues/19
621
+ [#15]: https://github.com/michalochman/react-pixi-fiber/issues/15
622
+ [#9]: https://github.com/michalochman/react-pixi-fiber/issues/9
623
+ [#8]: https://github.com/michalochman/react-pixi-fiber/issues/8
624
+ [#6]: https://github.com/michalochman/react-pixi-fiber/issues/6
625
+ [#4]: https://github.com/michalochman/react-pixi-fiber/issues/4
626
+ [#2]: https://github.com/michalochman/react-pixi-fiber/issues/2