Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2024-10-05 | 4.5 kB | |
v0.3.0-alpha.44 - The Decorator Future source code.tar.gz | 2024-10-05 | 30.4 MB | |
v0.3.0-alpha.44 - The Decorator Future source code.zip | 2024-10-05 | 30.8 MB | |
Totals: 3 Items | 61.2 MB | 0 |
What's Changed
- feat: add missing active prop for cameras in JSX types by @trusktr in https://github.com/lume/lume/pull/302
- feat: Dynamic cam by @keywizzle in https://github.com/lume/lume/pull/304
- Adds a new
dynamic-dolly
boolean attribute to<lume-camera-rig>
. Whentrue
, the effective dolly speed will be changed based on the camera's distance tominDistance
. Getting closer tominDistance
will lower the effective dolly speed towards zero. This is useful when zoomed into an object and having the dolly movements not be disproportionately huge while viewing fine details of the object. - Adds a new
dynamic-rotation
boolean attribute to<lume-camera-rig>
. Whentrue
, the effective rotation speed will be changed based on the camera's distance tominDistance
. Getting closer tominDistance
will lower the effective rotation speed to allow for finer control. This is useful zoomed in to see fine details of an object and having the rotation not be disproportionately huge, for example when zooming into a 3D globe. - feat: Update
lowclass
,@lume/element
, andthree
versions (@types/three
andthree
were updated inyarn.lock
) by @trusktr in https://github.com/lume/lume/pull/313 - This is inherited from the respective changes in
@lume/element
and inclassy-solid
, see those release notes in case you're using those libraries directly (which are re-exported fromlume
, the exportsElement
,element
,attribute
,numberAttribute
,booleanAttribute
,stringAttribute
,reactive
, andsignal
) -
This enables
accessor #private
fields andget #private
/set #private
properties to be decorated with@signal
, which allows converting code using conventional underscored "private" properties like this, ```js @element('my-el') class MyEl extends Element3D { @signal __someProperty = 123@signal get __otherProperty() {...} set __otherProperty(v) {...} }
to code that uses actually-private syntax:
js @element('my-el') class MyEl extends Element3D { @signal accessor #someProperty = 123@signal get #otherProperty() {...} @signal set #otherProperty(v) {...} }
* **BREAKING:** If you extended Lume classes to make new classes, or used `@lume/element` (whose exports are re-exprted from `lume`) to make new non-3D elements, and you used an attribute decorator (f.e. `@attribute`, `@numberAttribute`, etc) or the `@signal` decorator on any `get`ter/`set`ter class properties, you will need to ensure that you place the decorators on **both** the `get`ter and the `set`ter. This code,
js @element('my-el') class MyEl extends Element3D { @numberAttribute get someProperty() {...} set someProperty(v) {...}@booleanAttribute @noSignal get someProperty() {...} set someProperty(v) {...} @signal get otherProperty() {...} set otherProperty(v) {...}
}
becomes the following, ensuring that decorators are repeated on *both* getter and setter (new lines or no new lines are style preference):
js @element('my-el') class MyEl extends Element3D { @numberAttribute get someProperty() {...} @numberAttribute set someProperty(v) {...}@booleanAttribute @noSignal get someProperty() {...} @booleanAttribute @noSignal set someProperty(v) {...} @signal get otherProperty() {...} @signal set otherProperty(v) {...}
}
or
js @element('my-el') class MyEl extends Element3D { @numberAttribute get someProperty() {...} @numberAttribute set someProperty(v) {...}@booleanAttribute @noSignal get someProperty() {...} @booleanAttribute @noSignal set someProperty(v) {...} @signal get otherProperty() {...} @signal set otherProperty(v) {...}
} ```
Insignificant changes to the repo
- undo the temporary change to local examples importmap by @trusktr in https://github.com/lume/lume/pull/308
Full Changelog: https://github.com/lume/lume/compare/v0.3.0-alpha.43...v0.3.0-alpha.44